//
//  ViewController.swift
//  FrameworkDemo
//
//  Created by zhangjikuan on 2020/4/15.
//  Copyright © 2020 hsgd. All rights reserved.
//

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        let replicatorLayer = CAReplicatorLayer()
        // 1.1.设置复制图层中子层总数：这里包含原始层
        replicatorLayer.instanceCount = 8;
        // 1.2.设置复制子层偏移量，不包含原始层，这里是相对于原始层的x轴的偏移量
        replicatorLayer.instanceTransform = CATransform3DMakeTranslation(45, 0, 0);
        // 1.3.设置复制层的动画延迟事件
        replicatorLayer.instanceDelay = 0.1;
        // 1.4.设置复制层的背景色，如果原始层设置了背景色，这里设置就失去效果
        replicatorLayer.instanceColor = UIColor.green.cgColor;
        // 1.5.设置复制层颜色的偏移量
        replicatorLayer.instanceGreenOffset = -0.1;
        
        let layer = CALayer.init()
        // 2.1.设置layer对象的位置
        layer.position = CGPoint(x: 15, y: self.view.bounds.size.height);
        // 2.2.设置layer对象的锚点
        layer.anchorPoint = CGPoint(x: 0, y: 1);
        // 2.3.设置layer对象的位置大小
        layer.bounds = CGRect(x: 0, y: 0, width: 30, height: 350);
        // 2.5.设置layer对象的颜色
        layer.backgroundColor = UIColor.white.cgColor;
        
        // 3.创建一个基本动画
        let basicAnimation = CABasicAnimation();
        // 3.1.设置动画的属性
        basicAnimation.keyPath = "transform.scale.y";
        // 3.2.设置动画的属性值
        basicAnimation.toValue = 0.1;
        // 3.3.设置动画的重复次数
        basicAnimation.repeatCount = MAXFLOAT;
        // 3.4.设置动画的执行时间
        basicAnimation.duration = 0.5;
        // 3.5.设置动画反转
        basicAnimation.autoreverses = true;
        
        layer.add(basicAnimation, forKey: nil)
        
        replicatorLayer.addSublayer(layer)
        
        view.layer.addSublayer(replicatorLayer)
        
        
    }


}

